Churn analysis and methods of intervention

ABSTRACT

Systems and associated methods are described for providing content recommendations. The system accesses content item consumption data for a plurality of users subscribed to a media service. Then, the system determines that a first subset of the plurality of users has unsubscribed from the media service and that a second subset of the plurality of users has not unsubscribed from the media service. The system identifies a time slot typical for the first subset of users and atypical for the second subset of users based on content item consumption data of the first subset of users and content item consumption data of the second subset of users. In response to determining that a user is consuming a first content item at the identified time slot, the system generates for display a recommendation for a second content item that is scheduled for a different time slot.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims benefit of U.S. Provisional Application No.62/806,251, filed Feb. 15, 2019 which is hereby incorporated byreference herein in its entirety.

BACKGROUND

The present disclosure relates to systems and methods for providingmedia content recommendations, and more particularly to systems andrelated methods for providing media content recommendations designed todecrease the risk of user churn.

SUMMARY

Modern media distribution systems often provide media content itemrecommendations to users. In one approach, media content itemrecommendations are provided based on analysis of what content the useralready prefers. For example, a user who enjoys sports programming willtypically receive sports programming recommendations. Often, the userswho watch only a limited selection of content are at a heightened riskof churn (e.g., unsubscribing from their current media service). Inthese cases, recommendations for the same type of content that the useralready watched do not serve to expose that user to other types ofcontent and thus fail to lower the risk of churn.

To address these shortcomings, systems and methods are described hereinthat provide content recommendations that expose a user to new types ofcontent and thus prevent user churn (as shown by empirical analysis ofbehavior of large amount of users). To this end, a contentrecommendation application accesses content item consumption data for aplurality of users subscribed to a media service. For example, thecontent recommendation application may access a database of all contentitems requested by all users over a certain period of time. The contentrecommendation application then divides the users into a first subsetthat have canceled the subscription and into a second subset that havemaintained the subscription.

The information about the subsets of users is analyzed to identifyfeatures of the users and/or features of content consumed by the users.For example, the content recommendation application may identify timeslots at which users of the first subset (users who have churned)typically consume content items and time slots at which users of thesecond subset (users who did not churn) typically consume content items.The content recommendation application may also identify content types(e.g., genre, length, rating) typical of users of the first subset(users who have churned), and content types (e.g., genre, length,rating) typical of users of the second subset (users who have notchurned).

The content recommendation application may then monitor users forcontent consumption behavior which is typical of users in the firstsubset and is thus likely to churn. For example, the contentrecommendation application may identify a user that is consuming contentof the type that is typical of the first subset at time slots that arealso typical of the first subset. To alleviate the risk of churn and toprovide the user with new types of content, the content recommendationapplication may then generate for display for the identified user arecommendation for content that is typically consumed by users of thesecond subset (users who did not churn). For example, the user may beprovided with a recommendation to watch a new type of content at a newtime slot that is typical of the second subset of users. As a result,the user is exposed to new types of content at new time slots and asdata shows, becomes less likely to churn. For example, the contentrecommendation application may generate a recommendation for an EPG(electronic programming guide) of a cable system (e.g., Cox™ orVerizon™), or as part of an OTT (over-the-top) media streamingapplication (e.g., Netflix™ or Amazon™).

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and advantages of the disclosure will beapparent upon consideration of the following detailed description, takenin conjunction with the accompanying drawings, in which like referencecharacters refer to like parts throughout, and in which:

FIG. 1 depicts an illustrative scenario for a content recommendationapplication providing media content recommendations, in accordance withsome embodiments of the disclosure;

FIG. 2 depicts an illustrative block diagram of a system hosting themedia delivery application, in accordance with some embodiments of thedisclosure;

FIG. 3 shows an illustrative block diagram of a system hosting thecontent recommendation application, in accordance with some embodimentsof the disclosure;

FIG. 4 depicts an illustrative flowchart of a process for providinginterventions, in accordance with some embodiments of the disclosure;

FIG. 5 depicts an illustrative flowchart of a process for providingmedia content recommendations, in accordance with some embodiments ofthe disclosure;

FIG. 6 depicts an illustrative flowchart of a process for adjusting achurn prediction algorithm, in accordance with some embodiments of thedisclosure;

FIG. 7 depicts an illustrative flowchart of a process for adjusting anintervention selection algorithm, in accordance with some embodiments ofthe disclosure; and

FIG. 8 depicts another illustrative flowchart of a process for providinginterventions, in accordance with some embodiments of the disclosure.

DETAILED DESCRIPTION

FIG. 1 depicts an illustrative scenario for a media contentrecommendation application that provides media content recommendations.Media content or content may refer to any kind of video, audio, text, ormultimedia content, or any combination thereof. For example, a mediacontent item may be a TV show, a movie, a song, a podcast, a video game,any other type of media content item or any combination thereof.

At step 102, the content recommendation application may accessconsumption data about users that are subscribers to a media service(e.g., a cable media service or OTT media service). The contentrecommendation application may access consumption data of all users of aservice. For example, the content recommendation application may accessrecords maintained by a cable company or by an OTT provider. In someembodiments, the data may be in table form 104 as shown in FIG. 1.However, the data may also be accessed as a database or as any otherdata structure. For example, the content recommendation application mayaccess records 106, 108, and 110, which describe the history of userconsumption data. Record 106 may indicate that user 1 has consumed adrama series show, “Game of Thrones”, on Monday at 9:00 PM. Record 108may indicate that user 1 has consumed sports programming, “NFL Game”, onSunday at 2:00 PM. Record 110 may indicate that user 1 has consumed newsprogramming, “20/20”, on Tuesday at 5:00 PM. In some embodiments, thedata may be accessed for any number of users (e.g., all users subscribedto the service, all users in a particular area, or all users in acertain demographic) for any time period (e.g., one week or one month).In addition, the data may include additional data about the users (e.g.,profile information, demographic information, etc.)

At 112, the content recommendation application tracks or determines userchurn. For example, the content recommendation application may query theuser database of the media service provider to check which users (e.g.,users from entries 106, 108, 110) have unsubscribed (churned) from themedia service. For example, the first subset 114 may include user 2,user 4, and user 5 who have unsubscribed from the media service, whilesecond set 116 may include user 1, and user 3 who have not unsubscribedfrom the media service.

At 118, the content recommendation application may analyze the data ofusers in subset 114 and 116 (e.g., by using a partial least squaresPartial Least Squares (PLS) regression model or a Shapley additivemodel) to identify features of the users that are predictive of churn(e.g., by comparing features of users who churned to features of userswho did not churn). For example, the content recommendation applicationmay identify that subset of users 120 (e.g., subset 116) may beassociated with certain types of media content (e.g., sports and news)and with certain consumption time slots (e.g., weekend afternoons andevenings). For example, the content recommendation application maydetermine that these types of contents and timeslots may be atypical ofnot-churned subset 114 and typical of churned subset 116.

At 122, the content recommendation application may use the identifiedtime slots and content types to preemptively identify users who are atrisk of churn. For example, the content recommendation application mayexamine content consumption history of user X. User X may have aconsumption history that includes records 124, 126, and 128. Records124, 126, and 128 may all indicate that user X consumed sportsprogramming, “NFL Game”, on Sunday around 2:00 PM. Then, the contentrecommendation application may determine that consumption records ofuser X includes consumption of content typical of subset 116 attimeslots that are also typical of subset 116. Additionally, the contentrecommendation application may determine that consumption records ofuser X do not include consumption of content typical of subset 114 attimeslots that are also typical of subset 116.

After the determination in step 122 is made, the content recommendationapplication may, at step 130, generate a recommendation 132 for the user(e.g., for user X). In one example, the content recommendationapplication may generate a recommendation designed to identify contentthat is of the type typical of subset 114 and that would occur in a timeslot that is typical of subset 114. For example, the contentrecommendation application may recommend the “Game of Thrones” TV showbecause it has type “Drama Series” which is typical of subset 114 andnot typical of subset 116. The “Game of Thrones” TV show may also bescheduled (in case of cable providers) or scheduled for initial release(in case of OTT providers) for a time slot that is typical of subset 114and not typical for subset 116 (e.g., Monday, 9:00 PM).

In the shown example, content recommendation 132 may include informationabout the type of recommended content 136, timeslot of the recommendedcontent 138, and a user interface element 134 (e.g., a clickablebutton), which can allow the user to start consuming the content item.In some embodiments, content recommendation 132 may also includeinformation about a promotion (e.g., free access to premium content)designed to encourage consumption of the recommended content item. Thecontent recommendation 132 serves to expose user X to new types ofcontent and new timeslots, and results in reduced risk of user Xchurning.

FIG. 2 shows an illustrative block diagram of a system 200 fordisplaying content, in accordance with some embodiments of thedisclosure. In various aspects, system 200 includes one or more ofserver 202, media content source 204, media guidance data source 206,communication network 208, and one or more computing devices 210, suchas user television equipment 210 a (e.g., a set-top box), user computerequipment 210 b (e.g., a laptop), and/or wireless user communicationsdevice 210 c (e.g., a smartphone device). Although FIG. 2 shows one ofeach component, in various examples, system 200 may include fewer thanthe illustrated components and/or multiples of one or more illustratedcomponents. Communication network 208 may be any type of communicationnetwork, such as the Internet, a mobile phone network, mobile voice ordata network (e.g., a 4G or LTE network), cable network, public switchedtelephone network, or any combination of two or more of suchcommunication networks. Communication network 208 includes one or morecommunication paths, such as a satellite path, a fiber-optic path, acable path, a path that supports Internet communications (e.g., IPTV),free-space connections (e.g., for broadcast or other wireless signals),or any other suitable wired or wireless communication path orcombination of such paths. Communication network 208 communicativelycouples various components of system 200 to one another. For instance,server 202 may be communicatively coupled to media content source 204,media guidance data source 206, and/or computing device 210 viacommunication network 208.

In some examples, media content source 204 and media guidance datasource 206 may be integrated as one device. Media content source 204 mayinclude one or more types of content distribution equipment including atelevision distribution facility, cable system headend, satellitedistribution facility, programming sources (e.g., televisionbroadcasters, such as NBC, ABC, HBO, etc.), intermediate distributionfacilities and/or servers, Internet providers, on-demand media servers,and other content providers. NBC is a trademark owned by the NationalBroadcasting Company, Inc.; ABC is a trademark owned by the AmericanBroadcasting Company, Inc.; and HBO is a trademark owned by the Home BoxOffice, Inc. Media content source 204 may be the originator of content(e.g., a television broadcaster, a Webcast provider, etc.) or may not bethe originator of content (e.g., an on-demand content provider, anInternet provider of content of broadcast programs for downloading,etc.). Media content source 204 may include cable sources, satelliteproviders, on-demand providers, Internet providers, over-the-top contentproviders, or other providers of content. Media content source 204 mayalso include a remote media server used to store different types ofcontent (e.g., including video content selected by a user) in a locationremote from computing device 210. Systems and methods for remote storageof content and providing remotely stored content to user equipment arediscussed in greater detail in connection with Ellis et al., U.S. Pat.No. 7,761,892, issued Jul. 20, 2010, which is hereby incorporated byreference herein in its entirety.

Media content source 204 and media guidance data source 206 may providecontent and/or media guidance data to computing device 210 and/or server202 using any suitable approach. In some embodiments, media guidancedata source 206 may provide a stand-alone interactive television programguide that receives program guide data via a data feed (e.g., acontinuous feed or trickle feed). In some examples, media guidance datasource 206 may provide program schedule data and other guidance data tocomputing device 210 on a television channel sideband, using an in-banddigital signal, an out-of-band digital signal, or any other suitabledata transmission technique.

As described in further detail below, server 202 manages thecommunication of a live content stream (e.g., a live sporting eventbroadcast, a live news broadcast, or the like) and recorded streams frommedia content source 204 to computing device 210 via communicationnetwork 208. For instance, in some embodiments, content from mediacontent source 204 and/or guidance data from media guidance data source206 may be provided to computing device 210 using a client/serverapproach. In such examples, computing device 210 may pull content and/ormedia guidance data from server 202 and/or server 202 may push contentand/or media guidance data to computing device 210. In some embodiments,a client application residing on computing device 210 may initiatesessions with server 202, media content source 204, and/or mediaguidance data source 206 to obtain content and/or guidance data whenneeded, e.g., when the guidance data is out of date or when computingdevice 210 receives a request from the user to receive content orguidance data. In various aspects, server 202 may also be configured todetect events within the live content stream and, based on the detectedevents, control the display of content and/or navigation menu optionsvia computing device 210. Additionally, although FIG. 2 shows mediacontent source 204 and media guidance data source 206 as separate fromserver 202, in some embodiments, media content source 204 and/or mediaguidance data source 206 may be integrated as one device with server202.

Content and/or media guidance data delivered to computing device 210 maybe over-the-top (OTT) content. OTT content delivery allowsInternet-enabled user devices, such as computing device 210, to receivecontent that is transferred over the Internet, including any contentdescribed above, in addition to content received over cable or satelliteconnections. OTT content is delivered via an Internet connectionprovided by an Internet service provider (ISP), but a third partydistributes the content. The ISP may not be responsible for the viewingabilities, copyrights, or redistribution of the content, and maytransfer only IP packets provided by the OTT content provider. Examplesof OTT content providers include FACEBOOK, AMAZON, YOUTUBE, NETFLIX, andHULU, which provide audio and video via IP packets. YouTube is atrademark owned by Google LLC; Netflix is a trademark owned by Netflix,Inc.; Hulu is a trademark owned by Hulu, LLC; Facebook is a trademarkowned by Facebook, Inc.; and Amazon is a trademark owned by Amazon.com,Inc. OTT content providers may also include any other OTT contentprovider. OTT content providers may additionally or alternativelyprovide media guidance data described above. In addition to contentand/or media guidance data, providers of OTT content can distributeapplications (e.g., web-based applications or cloud-based applications),or the content can be displayed by applications stored on computingdevice 210.

FIG. 3 is an illustrative block diagram showing additional details ofthe system 300 (which may be the same as system 200 of FIG. 2), inaccordance with some embodiments of the disclosure. In particular,server 301 (e.g., the same server as server 202) includes controlcircuitry 302 and I/O path 308, and control circuitry 302 includesstorage 304 and processing circuitry 306. Computing device 360 (e.g.,one or more of devices 210 a, 210, and 210 c) includes control circuitry310, I/O path 316, speaker 318, display 320 (as well a circuitry forgenerating images for display on display 320), and user input interface322. Control circuitry 310 includes storage 312 and processing circuitry314. Control circuitry 302 and/or 310 may be based on any suitableprocessing circuitry such as processing circuitry 306 and/or 314. Asreferred to herein, processing circuitry should be understood to meancircuitry based on one or more microprocessors, microcontrollers,digital signal processors, programmable logic devices,field-programmable gate arrays (FPGAs), application-specific integratedcircuits (ASICs), etc., and may include a multi-core processor (e.g.,dual-core, quad-core, hexa-core, or any suitable number of cores). Insome embodiments, processing circuitry may be distributed acrossmultiple separate processors, for example, multiple of the same type ofprocessors (e.g., two Intel Core i9 processors) or multiple differentprocessors (e.g., an Intel Core i7 processor and an Intel Core i9processor).

Each of storage 304, storage 312, and/or storages of other components ofsystem 300 (e.g., storages of media content source 354, media guidancedata source 356, and/or the like) may be an electronic storage device.In some embodiments, media content source 354 may be the same as mediacontent source 204. In some embodiments, media guidance data source 356may be the same as media content source 206. As referred to herein, thephrase “electronic storage device” or “storage device” should beunderstood to mean any device for storing electronic data, computersoftware, or firmware, such as random-access memory, read-only memory,hard drives, optical drives, digital video disc (DVD) recorders, compactdisc (CD) recorders, BLU-RAY disc (BD) recorders, BLU-RAY 3D discrecorders, digital video recorders (DVRs, sometimes called a personalvideo recorders, or PVRs), solid state devices, quantum storage devices,gaming consoles, gaming media, or any other suitable fixed or removablestorage devices, and/or any combination of the same. Each of storage304, storage 312, and/or storages of other components of system 300 maybe used to store various types of content, media guidance data, and orother types of data. Non-volatile memory may also be used (e.g., tolaunch a boot-up routine and other instructions). Cloud-based storagemay be used to supplement storages 304, 312 or instead of storages 304,312. In some embodiments, control circuitry 302 and/or 310 executesinstructions for a content recommendation application stored in memory(e.g., storage 304 and/or 312). Specifically, control circuitry 302and/or 310 may be instructed by the content recommendation applicationto perform the functions discussed herein. In some implementations, anyaction performed by control circuitry 302 and/or 310 may be based oninstructions received from the content recommendation application. Forexample, the content recommendation application may be implemented assoftware or a set of executable instructions that may be stored instorage 304 and/or 312 and executed by control circuitry 302 and/or 310.In some embodiments, the content recommendation application may be aclient/server content recommendation application where only a clientcontent recommendation application resides on computing device 360, anda server content recommendation application resides on server 301.

The content recommendation application may be implemented using anysuitable architecture. For example, it may be a stand-alone contentrecommendation application wholly implemented on computing device 360.In such an approach, instructions for the content recommendationapplication are stored locally (e.g., in storage 312), and data for useby the content recommendation application is downloaded on a periodicbasis (e.g., from an out-of-band feed, from an Internet resource, orusing another suitable approach). Control circuitry 310 may retrieveinstructions for the content recommendation application from storage 312and process the instructions to perform the functionality describedherein. Based on the processed instructions, control circuitry 310 maydetermine what action to perform when input is received from user inputinterface 322.

In client/server-based embodiments, control circuitry 310 may includecommunication circuitry suitable for communicating with a contentrecommendation application server (e.g., server 301) or other networksor servers. The instructions for carrying out the functionalitydescribed herein may be stored on the application server. Communicationcircuitry may include a cable modem, an integrated services digitalnetwork (ISDN) modem, a digital subscriber line (DSL) modem, a telephonemodem, an Ethernet card, a wireless modem for communication with otherequipment, or any other suitable communication circuitry. Suchcommunication may involve the Internet or any other suitablecommunication networks or paths (e.g., communication network 358). Insome embodiments, communication network 358 may be the same as network208. In another example of a client/server-based application, controlcircuitry 310 runs a web browser that interprets web pages provided by aremote server (e.g., server 301). For example, the remote server maystore the instructions for the application in a storage device. Theremote server may process the stored instructions using circuitry (e.g.,control circuitry 302) and generate the displays discussed above andbelow. Computing device 360 may receive the displays generated by theremote server and may display the content of the displays locally viadisplay 320. This way, the processing of the instructions is performedremotely (e.g., by server 301) while the resulting displays, such as thedisplay windows described elsewhere herein, are provided locally oncomputing device 360. For example, computing device 360 may includedisplay circuitry (e.g., video card circuitry or combination motherboardand video card circuitry) configured to generate for display the displaywindows. Computing device 360 may receive inputs from the user via inputinterface 322 and transmit those inputs to the remote server forprocessing and generating the corresponding displays.

A user may send instructions to control circuitry 302 and/or 310 usinguser input interface 322. User input interface 322 may be any suitableuser interface, such as a remote control, trackball, keypad, keyboard,touchscreen, touchpad, stylus input, joystick, voice recognitioninterface, or other user input interfaces. User input interface 322 maybe integrated with or combined with display 320, which may be a monitor,television, liquid crystal display (LCD), electronic ink display, or anyother equipment suitable for displaying visual images.

Server 301 and computing device 360 may receive content and data viainput/output (hereinafter “I/O”) path 308 and 316, respectively. Forinstance, I/O path 316 may include circuitry that includes one or moreof communication port configured to receive a live content stream fromserver 301 and/or media content source 354 via a communication network358. Storage 312 may be configured to buffer the received live contentstream for playback, and display 320 may be configured to present thebuffered content, navigation options, alerts, and/or the like via aprimary display window and/or a secondary display window. I/O paths 308,316 may provide content (e.g., a live stream of content, broadcastprogramming, on-demand programming, Internet content, content availableover a local area network (LAN) or wide area network (WAN), and/or othercontent) and data to control circuitry 302, 310. Control circuitry 302,310 may be used to send and receive commands, requests, and othersuitable data using I/O paths 308, 316. I/O paths 308, 316 may connectcontrol circuitry 302, 310 (and specifically processing circuitry 306,314) to one or more communication paths (described below). I/O functionsmay be provided by one or more of these communication paths but areshown as single paths in FIG. 3 to avoid overcomplicating the drawing.

Having described systems 200 and 300, reference is now made to FIG. 4,which depicts an illustrative flowchart of process 400 for providingmedia content recommendations that may be implemented by using systems200 and 300, in accordance with some embodiments of the disclosure. Invarious embodiments, the individual steps of process 400 may beimplemented by one or more components of systems 200 and 300. Althoughthe present disclosure may describe certain steps of process 400 (and ofother processes described herein) as being implemented by certaincomponents of systems 200 and 300, this is for purposes of illustrationonly, and it should be understood that other components of systems 200and 300 may implement those steps instead. For example, the steps ofprocess 400 may be executed by server 301 and/or by computing device 360to provide content recommendations.

At step 402, control circuitry 310 aggregates user data of a usersubscribed to a media service (e.g., an OTT or cable provider). Forexample, control circuitry 310 may access data stored at server 301 ofthe OTT or cable provider or at media guidance data source 356 vianetwork 358 and compile it into a local data structure. The data mayinclude user information (e.g., information about users in a certainarea or of certain demographic category) over a certain time period(e.g., 2 months). For example, the data may include types of datareceived in steps 402-412, as described below.

At 406, control circuitry 310 may receive view or consumption data ofthe users. For example, view or consumption data may describe thecontent consumed by each user, how much is viewed, when it is viewed,etc. At 404, control circuitry 310 may receive query data of the users.For example, query data may include the content and timing of queriesreceived by a media service from the users. At 410, control circuitry310 may receive explicit data. For example, explicit user data mayinclude data that describes how often a user uses search,recommendations and, predictions; how the user clicks on content orrecords content; and when the user uses other media service features. Insome embodiments, explicit user data may also include demographicinformation about the user (e.g., age, location, sex, etc.). At 408,control circuitry 310 may receive implicit data. For example, implicitdata may include contextual metadata about content items requested byusers: properties of the content: genre, length, time slot, year ofproduction, popularity at time of viewing, content themes (e.g., contentthemes that are determined using natural language processing).

Additionally, at 412, control circuitry 310 may receive current churnrisk data for each user as calculated in step 434. In this way, pastinformation about churn risk may be a factor in computing future churnfactors. At 402, control circuitry 310 may also receive anyinterventions that were provided to the users, as will be described insteps 436-440. In this way past information about interventions may be afactor in computing future churn factors.

At 414, control circuitry 310 may normalize and combine the datareceived in steps 402-412. In some embodiments, control circuitry 310may normalize and scale the features received in steps 402-412 to reducethe effect of seasonal trends and possible numerical issues with modeloptimization. For example, each feature may be assigned a numericalvalue that is normalized on 1-100 scale. In one implementation, controlcircuitry 310 may create combinations of features, and also create“delta” features (e.g., features that numerically measure change inother features over time). For example, the number of sports programmingrequests may be tracked, and, separately, a change in the number ofsports programming requests (e.g., over a week or over a month) may alsobe tracked. As another example, control circuitry 310 may track userrequests for content at certain time slots. For example, controlcircuitry 310 may track when content is consumed, e.g., at 9:00 PM onMondays or at 6:00 AM on Sundays.

At 416, control circuitry 310 may then access profiles of several usersthat are to be monitored for churn. For example, all users of the mediaservice may be monitored. In some embodiments, only certain keydemographics may be monitored. For example, control circuitry 310 mayretrieve subscriber data from server 301 or media guidance data source356 via network 358. At 418, control circuitry 310 may use the profiledata to identify users that have discontinued the media service. Forexample, control circuitry 310 may identify an explicit cancellationorder in profile data. At 420, control circuitry 310 may create a subsetof users who have churned and a subset of users who have not churned.Then, control circuitry 310 may extract factors computed in steps 414for each set of users. At 422, the data may be normalized betweenchurners and non-churners. For example, non-churners who stayedsubscribed for a full month may be expected to request more content thanthose who canceled the service after 15 days, simply because they hadmore days to consume content. The normalization may account for thisdiscrepancy by extrapolating the number of requests for churners as ifthey were subscribed for the full month (e.g., if 5 requests werereceived over 15 days, control circuitry 310 may extrapolate that to 10requests.)

At 424, control circuitry 310 may compute features for input intoanalysis models at 426-430. For example, control circuitry 310 may prunesome of the factors, create combination factors, generate numericalscores for each factor, etc. In some embodiments, control circuitry 310may combine or average features of multiple users (e.g., users of thesame demographics, or uses in the same geographical area). The createdfeatures for both the set of churners and the set of non-churners willbe fed into adjustable models (e.g., at steps 426-428) that can identifykey factors that led to a user being included into the set of churnersrather than into the set of non-churners.

In some embodiments, control circuitry 310 may perform any one of steps426-430, or any combination of these steps to identify key features instep 424 (e.g., consumption of key types of content, or consumption ofcontent in key time slots) that predict inclusion of the user in the setof churners. For example, at step 426, control circuitry 310 may use apartial least squares (PLS) algorithm that takes two sets of features(e.g., features of the churner set and features of the non-churner set)and identifies key features that predict inclusion of a user in thechurner set. PLS techniques are described, for example in Struc, V. andPavesic, N. (2009). Gabor-Based Kernel Partial-Least-SquaresDiscrimination Features for Face Recognition. Informatica, vol. 20, No.1, 115-138 (which is incorporated by reference herein). At step 428,control circuitry 310 may use an Extreme Gradient (XG) boost modelalgorithm that takes two sets of features (e.g., features of the churnerset and features of the non-churner set) and identifies key featuresthat predict inclusion of a user in the churner set. XG boost techniquesare described, for example, in L. Torlay, et al., Machine Learning-XGBoost Analysis Of Language Networks To Classify Patients With Epilepsy,Brain Informatics, 2017, 4:65 (which is incorporated by referenceherein). At step 430, control circuitry 310 may use a Shapley additiveexplanation model algorithm that takes two sets of features (e.g.,features of the churner set and features of the non-churner set) andidentifies key features that predict inclusion of a user in the churnerset. Shapley additive explanation techniques are described, for examplein Scott M. Lundberg, A Unified Approach to Interpreting ModelPredictions, Advances in Neural Information Processing Systems 30, NIPS2017 (which is incorporated by reference herein). The results of steps426-430 may be combined or weighted and then combined. In someembodiments, as a result of steps 426-430, control circuitry 310generates a list of features that are most responsible for sorting usersinto the churned set and a list of features that are most responsiblefor placing users into the non-churned set.

At 434, control circuitry 310 may use the features identified in steps426-430 to compute a risk factor for each user of a media service. Forexample, users that display features identified as typical of the set ofchurners receive a high churn score, while users that display featuresidentified as typical of the set of non-churners receive a low churnscore. The churn score can also be fed back into the data set at 412.For example, a user having a churn risk of 89% in January can be used asa feature (e.g., in step 424) to identify churn risk in February. Thechange in churn risk (e.g., a sharp increase in churn risk) can also beused as a separate feature in step 424.

Additionally, at step 432, control circuitry 310 may identify some riskfactor as intervention-able. For example, control circuitry 310 may haveidentified consumption media content at certain timeslots or of certaintypes as key factors in churn. These factors may be intervention-able,because the recommendations may be generated to direct the users towardsdifferent timeslots or content types. Such recommendations may be onepossible intervention. Other interventions may include offers for freecontent, information emails, social media messages, or recommendationspresented on user interface of the media service.

At 436, control circuitry 310 may select an intervention (e.g., acontent item to recommend via user interface). The content item may beselected using a model that takes user data as input and produces aselected content item as output. The content item may be selected from adatabase stored at media guidance data source 356. Then, controlcircuitry 310 may generate for display the selected recommendation tothe user (e.g., via display 320). At 438, control circuitry 310 mayevaluate effectiveness of the intervention (e.g., by checking if therisk factor computed at 434 has decreased and/or based on whether theuser has churned or not.) At 440, control circuitry 310 may varyinterventions and track success by repeating steps 436-438. In someembodiments, control circuitry 310 may adjust selection algorithm toselect better recommendations. In addition, the data about appliedinterventions may be fed back into churn prediction models at step 402and then used as a feature in step 424.

FIG. 5 depicts an illustrative flowchart of process 500 for a processfor providing media content recommendations that may be implemented byusing systems 200 and 300, in accordance with some embodiments of thedisclosure. In various embodiments, individual steps of process 500 maybe implemented by one or more components of systems 200 and 300.Although the present disclosure may describe certain steps of process500 (and of other processes described herein) as being implemented bycertain components of systems 200 and 300, this is for purposes ofillustration only, and it should be understood that other components ofsystems 200 and 300 may implement those steps instead. For example,steps of process 500 may be executed by server 301: and/or by computingdevice 360 to provide content recommendations.

At step 502, control circuitry 310 may access and gather content itemconsumption data for a plurality of users subscribed to a media service(e.g., all users subscribed to a service provided by media contentsources 354 or server 301). In some embodiments, at 504, controlcircuitry 310 may gather content item consumption data that comprisesinformation about time slots when content items are consumed by users(e.g., as shown by elements 106-110 of FIG. 1). Similarly, at 506control circuitry 310 may gather the content item consumption data thatcomprises information about the types of content items (e.g., if it is amovie or TV series, what the genre is, what the theme, etc.) that areconsumed by users (e.g., as shown by elements 106-110 of FIG. 1).

At step 508, control circuitry 310 evaluates user data (e.g., date fromserver 301) to identify a first subset of the plurality of users thathave unsubscribed from the media service during a predetermined timeperiod (e.g., 1 month) and a second subset of the plurality of usersthat have not unsubscribed from the media service during thepredetermined time period. For example, control circuitry 310 mayevaluate a database of users for explicit instructions to cancel theaccount by using steps 510-516.

At step 510, control circuitry 310 may begin examining each of theplurality of the usernames of the plurality of users, and checking auser database (e.g., stored on server 301) to see if the username ofthat user appeared in the list of disconnection requests. If the userhas churned, control circuitry 310 may, at step 512, add that user tothe first subset. If the user has not churned, control circuitry 310may, at step 514, add that user to the second subset. At step 516,control circuitry 310 checks if there are more users to be evaluated, ifso process 500 returns back to steps 510, if not, control circuitry 310proceeds to steps 518-520.

At steps 518 and 520, control circuitry 310 uses the data access at step502 to access item consumption data for the first subset of users and toaccesses item consumption data for the second subset of users. Forexample, control circuitry 310 may generate a single table or databaseof data for the first subset of users and another single table ordatabase of data for the second subset of users.

At 522, control circuitry 310 may identify a time slot typical for thefirst subset of users and atypical for the second subset of users, basedon content item consumption data of the first subset of users andcontent item consumption data of the second subset of users. In oneimplementation, the typical timeslot may be identified using one of aPLS regression model, XG boost model, or Shapley additive explanationmodel, as described in steps 426-430. In another implementation, controlcircuitry 310 may calculate a first fraction of the first subset ofusers that have consumed content items in a certain time slot and asecond fraction of the second subset of users that have consumed contentitems in the time slot. That time slot may then be considered typicalfor the first subset if the first fraction exceeds a first typicalitythreshold and if the second fraction is less than a second typicitythreshold. Similarly, that time slot may then be considered typical forthe second subset if the first fraction does exceed the first typicalitythreshold and if the second fraction does exceed the second typicalitythreshold.

At 522, control circuitry 310 may also identify a content item typicalfor the first subset of users and atypical for the second subset ofusers based on the content item consumption data of the first subset ofusers and the content item consumption data of the second subset ofusers. In one implementation, the typical content type may be identifiedusing at least one of PLS regression model, XG boost model, or Shapleyadditive explanation model as described in steps 426-430.

At 524, control circuitry 310 may begin monitoring content consumptionof a certain user of media service provided by media content source 354or server 301. For example, control circuitry 310 may receive a feed ofcontent consumption from media content source 354 or server 301. At 526,control circuitry 310 may determine that the user is consuming mediacontent in a timeslot that is typical of the first subset (the set thathas churned). In some embodiments, the user may also be consuming mediacontent that has a type that is typical of the first subset of users(e.g., the churner subset). In response to one or both of thesedeterminations, control circuitry 310 may proceed to step 528. In someembodiments, control circuitry 310 may also check if the user has notaccessed a content item that is typical of the second subset of users(e.g., the non-churner subset) for a certain period of time (e.g., 2weeks). This may serve as additional requirement for control circuitry310 to proceed to step 528.

At 528, control circuitry 310 may generate for the user a recommendation(e.g., as shown in FIG. 1, element 132). The recommendation can bedelivered via network 358 from server 301. The recommendation can begenerated for display on display 320 using display circuitry. In someembodiments, the recommendation includes an identifier of a content itemthat is scheduled for a time slot that is different from the time slotidentified as typical of the first subset at step 522. The recommendedcontent item may also have a content type that is different from thecontent type identified as typical of the first subset at step 522.Furthermore, the content item of the recommendations may be scheduledfor a time slot that is identical to the time slot identified as typicalof the second subset at step 522. The content item of therecommendations may also be of a content type that is identical to thecontent type identified as typical of the second subset at step 522.

In some embodiments, control circuitry 310 may generate for display therecommendation only after determining that the user has not consumed anycontent typical of the second subset for a set period of time (e.g., 2weeks or one months). For example, control circuitry 310 may examineconsumption data and track the last time content typical of the secondsubset (e.g., of a content type typical of the second subset and/orwatched in a time slot typical of the second subset) was consumed. Whenthat value gets large enough, control circuitry 310 may generate fordisplay the recommendation as described above.

FIG. 6 depicts an illustrative flowchart of process 600 for adjusting achurn prediction algorithm that may be implemented by using systems 200and 300, in accordance with some embodiments of the disclosure. Invarious embodiments, the individual steps of process 600 may beimplemented by one or more components of systems 200 and 300. Althoughthe present disclosure may describe certain steps of process 600 (and ofother processes described herein) as being implemented by certaincomponents of systems 200 and 300, this is for purposes of illustrationonly, and it should be understood that other components of systems 200and 300 may implement those steps instead. For example, the steps ofprocess 600 may be executed by server 301 and/or by computing device 360to provide content recommendations. In some embodiments, controlcircuitry 310 may use process 600 as a part of process 500 of FIG. 5(e.g., in addition to or instead of step 522). For example, controlcircuitry 310, when performing step 522, may use process 600 to identifytypical time slots and content types.

At 602, control circuitry 310 may maintain a machine learning churnprediction algorithm configured to identify a time slot predictive ofchurn based on the content item consumption data. For example, controlcircuitry 310 may maintain at least one of a PLS regression algorithm,XG boost algorithm, or Shapley additive explanation algorithm asdescribed in steps 426-430. The algorithms may be stored in local memory312 or at remote server 301.

At step 604, control circuitry 310 may identify time slots and contenttypes typical of the first subset of users (e.g., as described in step522). Then, the typicality of the time slot and content types may beempirically tested at steps 606 and 608. At 606, control circuitry 310generates a list of users who requested content items at the timesidentified as typical of the churned users, and/or of users whorequested content items of the content type identified as typical of thechurned users. At 608, control circuitry 310 generates a list of userswho did not request content items at the times identified as typical ofthe churned users, and/or of users who did not request content items ofthe content type identified as typical of the churned users.

At step 610, control circuitry 310 empirically monitors whether theusers in the list generated in step 606 actually churn, and whetherusers in list generated at step 608 actually did not churn. At step 612,the success rate is evaluated. If the success rate is low, at step 614,changes may be made to the algorithms that select typical time slots andcontent types. For example, algorithm parameters of a PLS regressionalgorithm, XG boost algorithm, or Shapley additive explanation algorithmmay be adjusted. The process may then be repeated until precision ratestops improving.

FIG. 7 depicts an illustrative flowchart of process 700 for adjusting anintervention selection algorithm that may be implemented by usingsystems 200 and 300, in accordance with some embodiments of thedisclosure. In various embodiments, the individual steps of process 600may be implemented by one or more components of systems 200 and 300.Although the present disclosure may describe certain steps of process700 (and of other processes described herein) as being implemented bycertain components of systems 200 and 300, this is for purposes ofillustration only, and it should be understood that other components ofsystems 200 and 300 may implement those steps instead. For example, thesteps of process 700 may be executed by server 301 and/or by computingdevice 360 to provide content recommendations. In some embodiments,control circuitry 310 may use process 700 as a part of process 500 ofFIG. 5 (e.g., in addition to or instead of step 522). For example,control circuitry 310, when performing step 528?, may use process 700 togenerate a recommendation (which is a type of intervention).

At 702, control circuitry 310 may maintain a machine learning contentrecommendation selection algorithm configured to identify a contentrecommendation designed to prevent churn based on the user profile data(e.g., media consumption data). For example, control circuitry 310 maymaintain a learning neural network that connects user profile featuresto a selection of content items from media guidance data sources 356 viaa set of neurons and uses churn avoidance as a reward function foradjusting weights of neuron connections.

At 704, control circuitry 310 may use the content recommendationselection algorithm to select an intervention recommendation for acertain type of users (e.g., users that consume media content at timestypical of users who churn). The intervention may be one of email,automated phone call, a mobile push notification, or pop up on display320 that recommends a content item to a user (e.g., as shown in FIG. 1,element 132). The media item that is being selected as a recommendeditem for the intervention may be selected using the neural networkdescribed above.

At 706-708, control circuitry 310 may conduct AB testing of theintervention. For example, control circuitry 310 may deliver therecommendations to some users in step 706, but not to other users instep 708. Control circuitry 310 may generate two lists listing such usergroups. At 710 both lists of users may be monitored for churn. At 712,control circuitry 310 may evaluate the success of the intervention. Forexample, if significantly fewer users who saw the intervention havechurned than users who have not seen the intervention, the interventionmay receive a high score. On the other hand, if there is little or nodifference in churn rates, the intervention may receive a low score.

At 714, control circuitry 310 may adjust the intervention selectionalgorithm. For example, the neural network that selects the content itemmay be adjusted using the intervention score as the reward score andusing neural network adjustment algorithms that attempt to maximize thereward score. Once the intervention selection algorithm is adjusted,steps 702-714 may be repeated to further refine the interventionselection algorithms.

FIG. 8 depicts another illustrative flowchart of process 800 forproviding interventions that may be implemented by using systems 200 and300, in accordance with some embodiments of the disclosure. In variousembodiments, the individual steps of process 800 may be implemented byone or more components of systems 200 and 300. Although the presentdisclosure may describe certain steps of process 800 (and of otherprocesses described herein) as being implemented by certain componentsof systems 200 and 300, this is for purposes of illustration only, andit should be understood that other components of systems 200 and 300 mayimplement those steps instead. For example, the steps of process 800 maybe executed by server 301 and/or by computing device 360 to providecontent recommendations. In some embodiments, control circuitry 310 mayuse process 800 as a part of process 500 of FIG. 5 (e.g., in addition toor instead of steps 522-528).

At step 802, control circuitry 310 may identify a set of time slotstypical of the first subset of users identified in step 512 and atypicalof the second subset of users identified in step 514. At step 804,control circuitry 310 may identify a set of time slots typical of thesecond subset of users identified in step 514 and atypical of the firstsubset of users identified in step 512. For example, this may beaccomplished using one of a PLS regression model, XG boost model, orShapley additive explanation model as described in steps 426-430. Oncethe sets of timeslots are identified, control circuitry 310 may proceedto step 806.

At step 806, control circuitry 310 may monitor the consumption historyof a certain user. For example, control circuitry 310 may receive userdata from server 301 or from media guidance data source 356. The data isused to identify whether the user consumes content with a patternindicative of a user who might churn. To that end, at step 808, controlcircuitry 310 checks if the user has consumed more than a firstthreshold amount of content items scheduled for time slots identified atstep 802. If not, control circuitry 310 continues monitoring at step806. Otherwise, control circuitry 310 also checks, at step 810, whetherthe user has consumed less than a second threshold amount of contentitems scheduled for time slots identified at step 804. If not, controlcircuitry 310 continues monitoring at step 806. Otherwise, controlcircuitry 310 proceeds to step 812. At step 812, control circuitry 310may generate for display for that user a recommendation (e.g.,recommendation 132 of FIG. 1).

The systems and processes discussed above are intended to beillustrative and not limiting. One skilled in the art would appreciatethat the actions of the processes discussed herein may be omitted,modified, combined, and/or rearranged, and any additional actions may beperformed without departing from the scope of the invention. Moregenerally, the above disclosure is meant to be exemplary and notlimiting. Only the claims that follow are meant to set bounds as to whatthe present disclosure includes. Furthermore, it should be noted thatthe features and limitations described in any one embodiment may beapplied to any other embodiment herein, and flowcharts or examplesrelating to one embodiment may be combined with any other embodiment ina suitable manner, done in different orders, or done in parallel. Inaddition, the systems and methods described herein may be performed inreal time. It should also be noted that the systems and/or methodsdescribed above may be applied to, or used in accordance with, othersystems and/or methods.

What is claimed is:
 1. A method for providing content recommendations toprevent user churn, the method comprising: accessing content itemconsumption data for a plurality of users previously or currentlysubscribed to a media service, wherein the content item consumption datacomprises information about time slots when content items are consumedby users; determining, by querying a database, that a first subset ofthe plurality of users has unsubscribed from the media service during apredetermined time period and that a second subset of the plurality ofusers has not unsubscribed from the media service during thepredetermined time period; identifying a time slot typical for the firstsubset of users and atypical for the second subset of users based oncontent item consumption data of the first subset of users and contentitem consumption data of the second subset of users; determining that auser is consuming a first content item at the identified time slot; andin response to determining that the user is consuming the first contentitem at the identified time slot, generating for display arecommendation for a second content item, wherein the second contentitem is scheduled for a time slot that is different from the identifiedtime slot.
 2. The method of claim 1, wherein the content itemconsumption data further comprises content item type information, themethod further comprising: identifying a content item type typical forthe first subset of users and atypical for the second subset of usersbased on the content item consumption data of the first subset of usersand the content item consumption data of the second subset of users; andwherein the first content item is of a type that is the same as theidentified content type, and the second content item is of a type thatis the different from the identified content type.
 3. The method ofclaim 1, further comprising: maintaining a machine learning churnprediction algorithm configured to identify a time slot predictive ofchurn based on the content item consumption data; iteratively adjustingthe machine learning churn prediction algorithm based on the identifiedtime slot to accurately predict a user unsubscribing from the mediaservice; and wherein the identifying the time slot comprises identifyingthe time slot using the adjusted machine learning churn predictionalgorithm.
 4. The method of claim 1, further comprising: maintaining anintervention selection algorithm configured to select a content itembased on data indicating that users are consuming content items at theidentified time slot; iteratively adjusting the intervention selectionalgorithm based on the user not unsubscribing from the media serviceafter viewing a recommendation for the selected content item; andwherein the generating for display the recommendation comprisesgenerating for display a recommendation for the content item selectedusing the adjusted intervention content selection algorithm.
 5. Themethod of claim 1, wherein: identifying the time slot that is typicalfor the first subset of users comprises: calculating a first fraction ofthe first subset of users that have consumed content items at the timeslot; and determining that the first fraction exceeds a typicalitythreshold; and identifying that the time slot is atypical for the secondsubset of users comprises: calculating a second fraction of the secondsubset of users that have consumed content items at the time slot; anddetermining that the second fraction does not exceed a typicalitythreshold.
 6. The method of claim 1, further comprising: identifying atime slot typical for the second subset of users and atypical for thefirst subset of users based on content item consumption data of thefirst subset of users and content item consumption data of the secondsubset of users; and wherein the generating for display therecommendation for the second content item is performed in response todetermining that the user has not consumed content at the time slottypical for the second subset of users for a predetermined period oftime.
 7. The method of claim 6, wherein the second content item isscheduled for the time slot typical for the second subset of users andatypical for the first subset of users.
 8. The method of claim 1,further comprising: identifying a first set of time slots typical forthe first subset of users and atypical for the second subset of usersbased on content item consumption data of the first subset of users andcontent item consumption data of the second subset of users; identifyinga second set of time slots typical for the second subset of users andatypical for the first subset of users based on content item consumptiondata of the first subset of users and content item consumption data ofthe second subset of users; wherein generating for display therecommendation for the second content item is performed in response todetermining that the user has consumed more than a first thresholdamount of content items scheduled for time slots of the first set andhas consumed less than a second threshold amount of content itemsscheduled for time slots of the second set over a predetermined timeperiod.
 9. The method of claim 1, wherein the generating for display arecommendation for the second content item comprises generating fordisplay an incentive to consume the second content item.
 10. The methodof claim 1, wherein the identifying the time slot typical for the firstsubset of users and atypical for the second subset of users comprisesusing at least one of regression model and Shapley additive explanationmodel.
 11. A system for providing content recommendations to preventuser churn, the system comprising: control circuitry configured to:access content item consumption data for a plurality of users previouslyor currently subscribed to a media service, wherein the content itemconsumption data comprises information about time slots when contentitems are consumed by users; determine, by querying a database, that afirst subset of the plurality of users has unsubscribed from the mediaservice during a predetermined time period and that a second subset ofthe plurality of users has not unsubscribed from the media serviceduring the predetermined time period; identify a time slot typical forthe first subset of users and atypical for the second subset of usersbased on content item consumption data of the first subset of users andcontent item consumption data of the second subset of users; determinethat a user is consuming a first content item at the identified timeslot; and in response to determining that the user is consuming thefirst content item at the identified time slot, generate for display,using display circuitry, a recommendation for a second content item,wherein the second content item is scheduled for a time slot that isdifferent from the identified time slot.
 12. The system of claim 11,wherein the content item consumption data further comprises content itemtype information, and wherein the control circuitry is furtherconfigured to: identifying a content item type typical for the firstsubset of users and atypical for the second subset of users based on thecontent item consumption data of the first subset of users and thecontent item consumption data of the second subset of users; and whereinthe first content item is of a type that is the same as the identifiedcontent type, and the second content item is of a type that is thedifferent from the identified content type.
 13. The system of claim 11,wherein the control circuitry is further configured to: maintain amachine learning churn prediction algorithm configured to identify atime slot predictive of churn based on the content item consumptiondata; iteratively adjust the machine learning churn prediction algorithmbased on the identified time slot to accurately predict a userunsubscribing from the media service; and wherein the control circuitryis configured to identify the time slot by identifying the time slotusing the adjusted machine learning churn prediction algorithm.
 14. Thesystem of claim 11, wherein the control circuitry is further configuredto: maintain an intervention selection algorithm configured to select acontent item based on data indicating that users are consuming contentitems at the identified time slot; iteratively adjust the interventionselection algorithm based on the user not unsubscribing from the mediaservice after viewing a recommendation for the selected content item;and wherein the control circuitry is configured to generate for displaythe recommendation by generating for display a recommendation for thecontent item selected using the adjusted intervention content selectionalgorithm.
 15. The system of claim 11, wherein: the control circuitry isconfigured to identify the time slot that is typical for the firstsubset of users by: calculating a first fraction of the first subset ofusers that have consumed content items at the time slot; and determiningthat the first fraction exceeds a typicality threshold; and the controlcircuitry is configured to identify that the time slot is atypical forthe second subset of users by: calculating a second fraction of thesecond subset of users that have consumed content items at the timeslot; and determining that the second fraction does not exceed atypicality threshold.
 16. The system of claim 11, wherein the controlcircuitry is further configured to: identifying a time slot typical forthe second subset of users and atypical for the first subset of usersbased on content item consumption data of the first subset of users andcontent item consumption data of the second subset of users; and whereinthe control circuitry is configured to generate for display therecommendation for the second content item in response to determiningthat the user has not consumed content at the time slot typical for thesecond subset of users for a predetermined period of time, and whereinthe second content item is scheduled for the time slot typical for thesecond subset of users and atypical for the first subset of users. 17.The system of claim 11, wherein the control circuitry is furtherconfigured to: identifying a first set of time slots typical for thefirst subset of users and atypical for the second subset of users basedon content item consumption data of the first subset of users andcontent item consumption data of the second subset of users; identify asecond set of time slots typical for the second subset of users andatypical for the first subset of users based on content item consumptiondata of the first subset of users and content item consumption data ofthe second subset of users; wherein the control circuitry is configuredto generate for display the recommendation for the second content itemin response to determining that the user has consumed more than a firstthreshold amount of content items scheduled for time slots of the firstset and has consumed less than a second threshold amount of contentitems scheduled for time slots of the second set over a predeterminedtime period.
 18. The system of claim 11, wherein the control circuitryis configured to generate for display a recommendation for the secondcontent item by generating for display an incentive to consume thesecond content item.
 19. The system of claim 11, wherein the controlcircuitry is configured to identify the time slot typical for the firstsubset of users and atypical for the second subset of users by using atleast one of partial least squares regression model and Shapley additiveexplanation model.
 20. A system for providing content recommendations toprevent user churn, the system comprising: control circuitry configuredto: access content item consumption data for a plurality of userspreviously or currently subscribed to a media service, wherein thecontent item consumption data comprises information about time slotswhen content items are consumed by users and information about contentitem types of the content items; determine, by querying a database, thata first subset of the plurality of users has unsubscribed from the mediaservice during a predetermined time period and that a second subset ofthe plurality of users has not unsubscribed from the media serviceduring the predetermined time period, wherein the database is queriedbased on the plurality of users associated with the accessed contentitem consumption data; identify a time slot typical for the first subsetof users and atypical for the second subset of users based on contentitem consumption data of the first subset of users and content itemconsumption data of the second subset of users; identify a content itemtype typical for the first subset of users and atypical for the secondsubset of users based on the content item consumption data of the firstsubset of users and the content item consumption data of the secondsubset of users; monitor content item consumption of a user to determinewhether the user is consuming a first content item at the identifiedtime slot, wherein the first content item is of a type that is the sameas the identified content type; in response to determining that the useris consuming the first content item at the identified time slot,generate for display, using display circuitry, a recommendation for asecond content item, wherein the second content item is scheduled for atime slot that is different from the identified time slot, and whereinthe second content item is of a type that is the different from theidentified content type; and in response to determining that the user isnot consuming the first content item at the identified time slot,continue to monitor content item consumption of the user.